import("//llvm/lib/Target/targets.gni")

static_library("lib") {
  output_name = "LLVMExegesis"
  deps = [
    "//llvm/lib/Analysis",
    "//llvm/lib/CodeGen",
    "//llvm/lib/CodeGen/GlobalISel",
    "//llvm/lib/ExecutionEngine",
    "//llvm/lib/ExecutionEngine/MCJIT",
    "//llvm/lib/IR",
    "//llvm/lib/MC",
    "//llvm/lib/Object",
    "//llvm/lib/ObjectYAML",
    "//llvm/lib/Support",
  ]
  sources = [
    "Analysis.cpp",
    "Assembler.cpp",
    "BenchmarkResult.cpp",
    "BenchmarkRunner.cpp",
    "Clustering.cpp",
    "CodeTemplate.cpp",
    "Error.cpp",
    "LatencyBenchmarkRunner.cpp",
    "LlvmState.cpp",
    "MCInstrDescView.cpp",
    "ParallelSnippetGenerator.cpp",
    "PerfHelper.cpp",
    "RegisterAliasing.cpp",
    "RegisterValue.cpp",
    "SchedClassResolution.cpp",
    "SerialSnippetGenerator.cpp",
    "SnippetFile.cpp",
    "SnippetGenerator.cpp",
    "SnippetRepetitor.cpp",
    "Target.cpp",
    "UopsBenchmarkRunner.cpp",
  ]

  if (llvm_build_AArch64) {
    deps += [ "AArch64" ]
  }
  if (llvm_build_PowerPC) {
    deps += [ "PowerPC" ]
  }
  if (llvm_build_X86) {
    deps += [ "X86" ]
  }
}
